const  AsyncParallelHook = require('./AsyncParallelHook')

let hook = new AsyncParallelHook(['name', 'age'])



hook.tapAsync('fn1', function (name, age, callback) {
    console.log('fn1--->', name,  age)
    callback()
})
hook.tapAsync('fn2', function (name,  age, callback) {
    console.log('fn2--->', name,  age)
    callback()
})
hook.callAsync('tapAsync', 18, function () {
    console.log('最后一个回调执行了')
})

/**
 * 01 实例化 hook， 定义 _x = 【fn1, fn2, ...】, taps = [ {}, {}, ...]
 * 02 实例调用 tap taps = [ {}, {}, ...]
 * 03 调用 call 方法，使用工厂类 HookCodeFactory 及其属性方法 setup 和 create
 * 04 主要定义的类有 Hook AsyncParallelHook HookCodeFactory
 */
